package com.syedu.day11;

/**
 * description：java.lang.Object类,它是所有Java类的顶级父类,任何Java类都是直接或者间接继承于它的
 *
 * 本类用来演示Object类中的方法,toString()
 *
 * 1.自动调用
 * 2.可以重写改变原来默认输出格式
 *
 * @author Administrator
 * @date 2022/3/23 9:16
 */
public class ObjectDemo1 {
    public static void main(String[] args) {
        Emp emp = new Emp(1, "jack", 30, null);
        /**
         * 打印对象类型时,会自动调用Object类的toString()方法,
         * 格式为: getClass().getName() + "@" + Integer.toHexString(hashCode()),约等于内存地址
         * 一般在开发中,我们需要的是对象的真实属性值,而非内存地址,所有,我们可通过重写toString()来实现
         *
         * 结论:
         * 如果你打印一个对象类型没有出现内存地址,那么该类中肯定已经重写了toString()方法,这就解释了为什么
         * 我们直接打印日期,字符串等对象类型时,没有出现内存地址的原因!
         */
        System.out.println(emp);
        //System.out.println(emp.toString());
    }
}